#ifndef ES_BLINKLED_H_
#define ES_BLINKLED_H_

#include "stm_std_lib.h"

class es_blinkled
{
public:
	void inline init()
	{
		init(GPIOA, GPIO_Pin_8);
	}
	void inline init(GPIO_TypeDef* p, u16 n)
	{
		//led init.
		GPIO_InitTypeDef led_pin;
		led_pin.GPIO_Speed=GPIO_Speed_50MHz;
		led_pin.GPIO_Mode=GPIO_Mode_Out_PP;		//push pull mode
		led_pin.GPIO_Pin = n;
		
		GPIO_Init(p,&led_pin);
		
		state = 0;
		port = p;
		num = n;
	}
	void inline fllpLED()
	{
		if(state==0)
		{
			GPIO_SetBits(port, num);
			state = 1;
		}
		else
		{
			GPIO_ResetBits(port, num);
			state = 0;
		}
	}
private:
	GPIO_TypeDef* port;
	u16 num;
	u8 state;
};


#endif
